package com.university.utils;

import java.sql.ResultSet;
import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;


public class SqliteDatabaseManager {
	private final static String DB_NAME="UNIVERSITY_DATABASE";
	private Context mContext;
	private SQLiteDatabase mDatabase;
	private static SqliteDatabaseManager manager;
	//使用的时候传整个app的上下文进来,在其它地方使用manager时直接通过上下文获取实例，若实例不存在，则创建实例，在创建实例的过程中保证相关数据的初始化工作
	public static SqliteDatabaseManager getInstance(Context context){
		if (manager==null) {
			manager=new SqliteDatabaseManager(context);
		}
		return manager;
	}
	//就把第一次创建出来的数据库的Version当做是0
	private SqliteDatabaseManager(Context context) {
		mContext=context;
		MyDatabaseHelper helper=new MyDatabaseHelper(mContext, DB_NAME, null, 1);
		mDatabase=helper.getWritableDatabase();
	}
	public void insertUniversityData(ArrayList<ContentValues> values){
		mDatabase.beginTransaction();
		for (ContentValues contentValues : values) {
			mDatabase.insert("院校表", null, contentValues);
		}
		mDatabase.setTransactionSuccessful();
		mDatabase.endTransaction();
	}
	
	public void insertMajorData(ArrayList<ContentValues> values){
		mDatabase.beginTransaction();
		for (ContentValues contentValues : values) {
			mDatabase.insert("院校专业表", null, contentValues);
		}
		mDatabase.setTransactionSuccessful();
		mDatabase.endTransaction();
	}
	public void insertHotData(ArrayList<ContentValues> values){
		mDatabase.beginTransaction();
		for (ContentValues contentValues : values) {
			mDatabase.insert("热门大学表", null, contentValues);
		}
		mDatabase.setTransactionSuccessful();
		mDatabase.endTransaction();
	}
	
	public SQLiteDatabase getDatabase(){
		return mDatabase;
	}
	class MyDatabaseHelper extends SQLiteOpenHelper{
		public MyDatabaseHelper(Context context, String name,
				CursorFactory factory, int version) {
			super(context, name, factory, version);
		}
		

		@Override
		public void onCreate(SQLiteDatabase db) {
			db.execSQL("CREATE TABLE 院校表 (院校代码 VARCHAR( 4, 0 ) , 院校名称 VARCHAR( 50, 0 ), 批次   VARCHAR( 10, 0 ) , 地区   VARCHAR( 10, 0 ),文理   VARCHAR( 10, 0 ), 选修   VARCHAR( 20, 0 ),   最低分  INTEGER( 5, 0 ),最高分  INTEGER( 5, 0 ),  录取数  INTEGER( 5, 0 ) );");
			db.execSQL("CREATE TABLE 院校专业表 (院校代码 VARCHAR( 4, 0 ),专业名称 VARCHAR( 50, 0 ), 录取数  INTEGER( 3, 0 ), 最高分  INTEGER( 3, 0 ),最低分  INTEGER( 3, 0 ),平行志愿 INTEGER( 3, 0 ),  征求志愿 INTEGER( 3, 0 ),   服从志愿 INTEGER( 3, 0 ),文理   VARCHAR( 10, 0 	));");
			db.execSQL("CREATE TABLE 热门大学表 (榜名 VARCHAR( 40, 0 ),排名  INTEGER( 3, 0 ), 院校名称 VARCHAR( 40, 0 ));");
			
		}
		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		}
		
	}
}
